{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<br>\n",
    "<center><font face=\"黑体\" size=4>《机器学习基础实践》课程实验指导书</font></center>\n",
    "<br>\n",
    "<center><font face=\"黑体\",size=4>第8章  降维</font></center>\n",
    "\n",
    "$\\textbf{1.实验目标}$\n",
    "\n",
    "了解降维算法的基本结构、训练方法、实现方法，并实现部分算法。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\textbf{2.实验内容}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在机器学习中，我们经常会遇到特征数量非常多、特征向量维数非常高的问题。在高维情况下，数据通常会出现数据样本稀疏、模型复杂度高容易造成过拟合、特征之间的共线性增强等问题，被称为维数灾难。缓解维数灾难的一个重要途径就是降维，即通过某种方法将高维特征空间浓缩到维度更低的新的特征空间。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\textbf{8.1 主成分分析算法的基本原理}$\n",
    "\n",
    "主成分分析(Priceipal Component Analysis，简称PCA)是一种常见的数据降维方法，PCA将可能相互关联的高维特征空间转换为线性不相关的低维特征空间，并尽量保持样本在原始特征空间中的距离。\n",
    "\n",
    "下面通过一个例子来解释PCA的主要思想。假设原始特征空间(黑色坐标系)中的数据点分布下图所示，通过线性变换，可以将原始特征空间转化为新的特征空间(蓝色坐标系)，将原始数据点分别投影到新特征空间的坐标轴，可以得到原始数据点在新特征空间各个轴上的投影，分别如蓝色点和绿色点所示，可以看到在新的特征空间中，蓝色点表示的投影方向上数据的分散性比较大，即投影点的方差较大，而绿色点表示的投影方向上，投影点集中，方差很小。这表示蓝色点对于的投影方向包含了原始数据的绝大部分信息。主成分分析的主要思想就是对原始特空间通过某种变换将原始数据映射到新的特征空间中，在新的特征空间中，各维度相互正交，特征之间不存在相关性，最后在从新的特征空间中选择能够保存原始数据大部分信息的维度(方差较大的几个投影方向)作为最终的特征，以达到降维的目的。\n",
    "\n",
    "<img src=picture/dr1.png>\n",
    "\n",
    "PCA算法先对原始数据进行中心化处理，再将原始数据投影变换到新的特征空间，新的特征空间的坐标系为$\\{\\textbf{w}_1,\\textbf{w}_2,…,\\textbf{x}_d\\}$，其中$\\textbf{w}_i$是标准正交基向量，其模等于1，且对于任意两个不同的向量有$\\textbf{w}_i^{T}\\textbf{w}_j$=0，最后丢弃新特征空间的部分坐标，即降低维度。\n",
    "\n",
    "对于原始样本$\\textbf{x}_i=[x_{i1},x_{i2},…,x_{id}]$，它在低维特征空间中的投影是$\\textbf{z}_i=[z_{i1},z_{i2},…,z_{id^*}],d^*<d$，其中$z_{ij}=\\textbf{w}_j^{T}\\textbf{x}_i$是$\\textbf{x}_i$在低维空间坐标系下的第$j$维坐标，基于$\\textbf{z}_i$来重构$\\textbf{x}_i$可以得到\n",
    "\n",
    "\\begin{equation}\n",
    "\\bar{\\textbf{x}}_{i}=\\sum_{j=1}^{d^*}z_{ij}\\textbf{w}_j \\ .\n",
    "\\end{equation}\n",
    "\n",
    "对于包含$m$个样本的数据集，原始样本点与基于投影重构的样本点之间的距离为\n",
    "\n",
    "\\begin{equation}\n",
    "\\sum_{i=1}^{m} \\Vert \\sum_{j=1}^{d^*}z_{ij}\\textbf{w}_j - \\textbf{x}_i\\Vert_{2}^{2}=\\sum_{i=1}^{m}\\textbf{z}_{i}^{T}\\textbf{z}_j - 2\\sum_{i=1}^{m} \\textbf{z}_{i}^{T}\\textbf{W}^{T}\\textbf{x}_i + C \\propto -tr(\\textbf{W}^T(\\sum_{i=1}^{m}\\textbf{x}_i^T\\textbf{x}_i)\\textbf{W})\n",
    "\\end{equation}\n",
    "\n",
    "其中$\\textbf{W}=[\\textbf{w}_1,\\textbf{w}_2,…,\\textbf{w}_d]$是新特征空间的坐标系组成的矩阵，$C$表示常数，$tr(•)$表示矩阵的迹。基于最近重构原则，需要使得降维后的重构的数据样本与原始数据样本的距离最小，即最小化如下所示的函数\n",
    "\n",
    "\\begin{equation}\n",
    "\\underset{\\textbf{W}}\\min -tr(\\textbf{W}^T(\\sum_{i=1}^{m}\\textbf{x}_i^T\\textbf{x}_i)\\textbf{W})\\\\\n",
    "s.t. \\textbf{W}^{T}\\textbf{W} = 1.\n",
    "\\end{equation}\n",
    "\n",
    "上式等价于\n",
    "\n",
    "\\begin{equation}\n",
    "\\underset{\\textbf{W}}\\max tr(\\textbf{W}^T \\textbf{X}^{T}\\textbf{X}\\textbf{W})\\\\\n",
    "s.t. \\textbf{W}^{T}\\textbf{W} = 1.\n",
    "\\end{equation}\n",
    "\n",
    "上式的求解可以使用拉格朗日乘数法，可得\n",
    "\n",
    "\\begin{equation}\n",
    "\\textbf{X}\\textbf{X}^T\\textbf{W}=\\lambda \\textbf{W}\n",
    "\\end{equation}\n",
    "\n",
    "其中$\\lambda >0$式拉格朗日乘子,进而可得\n",
    "\n",
    "\\begin{equation}\n",
    "\\underset{\\textbf{W}}\\max tr(\\textbf{W}^T \\textbf{X}^{T}\\textbf{X}\\textbf{W})=\\underset{\\textbf{W}}\\max tr(\\lambda \\textbf{W}^{T}\\textbf{W})\n",
    "\\end{equation}\n",
    "\n",
    "由于$\\textbf{W}$是新特征空间的坐标系组成的矩阵，有$\\textbf{W}^{T}\\textbf{W}=1$。因此，上式的求解相当于是求$\\textbf{X}^{T}\\textbf{X}$的最大$d^{*}$个特征值，这些特征值对应的特征向量组成了低维空间的正交基，即低维空间的坐标系。此外，由于$\\textbf{X}$是经过了中心化处理，$\\textbf{X}^{T}\\textbf{X}$就等于$\\textbf{X}$的协方差矩阵，上式的求解也就相当于是求$\\textbf{X}$的协方差矩阵的最大$d^{*}$个特征值。\n",
    "\n",
    "$\\textbf{PCA算法的流程：}$\n",
    "\n",
    "$\\textbf{输入：}$\n",
    "\n",
    "样本集$D=\\{\\textbf{x}_1,\\textbf{x}_2,…,\\textbf{x}_m\\}$；低维空间的维数$d^{*}$.\n",
    "\n",
    "$\\textbf{输出：}$\n",
    "\n",
    "原始空间到低维空间的投影矩阵$\\textbf{W}=[\\textbf{w}_1,\\textbf{w}_2,...,\\textbf{w}_{d^*}]$.\n",
    "\n",
    "$\\textbf{过程：}$\n",
    "\n",
    "(1)对数据集$D$的原始特征空间$\\textbf{X}$去中心化：$\\textbf{X}=\\textbf{X}-\\frac{\\textbf{X}}{m}$.\n",
    "\n",
    "(2)计算$\\textbf{X}$的协方差矩阵$\\textbf{X}^{T}\\textbf{X}$.\n",
    "\n",
    "(3)对协方差矩阵做特征值分解.\n",
    "\n",
    "(4)取特征值分解后的最大的$d^{*}$个特征值对应的特征向量作为映射矩阵$\\textbf{W}=[\\textbf{w}_1,\\textbf{w}_2,...,\\textbf{w}_{d^*}]$.\n",
    "\n",
    "(5)return $\\textbf{W}=[\\textbf{w}_1,\\textbf{w}_2,...,\\textbf{w}_{d^*}]$.\n",
    "\n",
    "$\\textbf{8.2 PCA算法的实现}$\n",
    "\n",
    "(1)构造PCA类，封装PCA算法的实现。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "jupyter": {
     "source_hidden": true
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "class PCA:\n",
    "    def fit(self, data, low_dim):\n",
    "        \"\"\"\n",
    "        参数：\n",
    "        data: 待降维数据\n",
    "        low_dim: 降维后的维度\n",
    "        \"\"\"\n",
    "        #数据中心化\n",
    "        #此处添加代码，对data进行去中心化处理\n",
    "        #计算数据样本的协方差矩阵\n",
    "        #此处添加代码，对data计算协方差矩阵\n",
    "        #对协方差矩阵进行特征分解\n",
    "        #此处添加代码，对协方差矩阵进行特征值分解，输出特征值eig_values,和特征向量eig_vects\n",
    "        #对特征值进行排序,从大到小\n",
    "        eig_values_sort = np.argsort(-eig_values)\n",
    "        #选取前low_dim个特征值\n",
    "        index = eig_values_sort[:low_dim]\n",
    "        #选取前low_dim个特征值对应的特征向量\n",
    "        select_eig_vects = eig_vects[:,index]\n",
    "        #将原始数据data映射到低维空间data_low\n",
    "        data_low = np.dot(data_centered,select_eig_vects)        \n",
    "        return data_low"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(2)使用sklearn库读取乳腺癌数据集，可视化数据集，并用上面实现的PCA算法进行降维，可视化降维结果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "jupyter": {
     "outputs_hidden": true,
     "source_hidden": true
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x179fcc3f250>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    " \n",
    "#通过散点图可视化数据集\n",
    "def drawPoints(dataset1,dataset2):  \n",
    "    fig = plt.figure()\n",
    "    ax1 = fig.add_subplot(211)\n",
    "    ax2 = fig.add_subplot(212)\n",
    "    ax1.scatter(dataset1[:,0],dataset1[:,1],marker='s',s=40,color='red')\n",
    "    dataset2 = np.array(dataset2)\n",
    "    ax2.scatter(dataset2[:,0],dataset2[:,1],s=40,color='blue')\n",
    "\n",
    "from sklearn.datasets import load_breast_cancer\n",
    "\n",
    "cancer_data = load_breast_cancer()\n",
    "\n",
    "data = cancer_data['data']\n",
    "y = cancer_data['target']\n",
    "\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "scaler = StandardScaler()\n",
    "data = scaler.fit_transform(data)\n",
    "\n",
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(211)\n",
    "ax2 = fig.add_subplot(212)\n",
    "#通过“'mean symmetry”和“worst smoothness”两个属性对乳腺癌原始数据可视化\n",
    "x1 = np.argwhere(cancer_data['feature_names']=='mean symmetry')[0][0]\n",
    "x2 = np.argwhere(cancer_data['feature_names']=='worst smoothness')[0][0]\n",
    "x = data[:,[x1,x2]]\n",
    "ax1.scatter(x[:,0],x[:,1],c=y,s=40,cmap=plt.cm.Spectral)\n",
    "\n",
    "#添加代码，使用上面实现的PCA算法，将原始数据data,降维到2维，可视化\n",
    "pca = PCA()\n",
    "data_low = pca.fit(data,low_dim=2)\n",
    "\n",
    "\n",
    "ax2.scatter(data_low[:,0],data_low[:,1],c=y,s=40,cmap=plt.cm.Spectral)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "jupyter": {
     "source_hidden": true
    },
    "tags": []
   },
   "source": [
    "$\\textbf{8.3 低维嵌入算法的基本原理}$\n",
    "\n",
    "在机器学习任务中，虽然数据样本通常具有很多特征属性，但与学习任务密切相关的特征属性并不多，即原始数据虽然是高维的，但是学习任务可能只与某个低维的子空间相关，这个子空间被称作高维空间的一个低维嵌入。高维空间的低维嵌入的示意图如下所示。\n",
    "\n",
    "<img src=picture/dr2.png>\n",
    "\n",
    "多维缩放(Multiple Dimensional Scaling，简称MDS)是一种经典的低维嵌入降维方法。假定原始空间中$m$个样本之间的距离矩阵为$D_{m,m}$，其第$i$行第$j$列元素$d_{ij}$表示样本$\\textbf{x}_i$与样本$\\textbf{x}_j$之间的距离。低维嵌入的目标是获得原始样本在低维空间中的表示$\\textbf{Z}_{d^{*},m}$，且对任意两个低维空间中的样本$\\textbf{z}_i$和$\\textbf{z}_j$，它们之间的距离等于原始空间中的距离，即$\\Vert \\textbf{z}_i - \\textbf{z}_j \\Vert=d_{ij}$.\n",
    "\n",
    "令$\\textbf{B}_{m,m}=\\textbf{Z}^{T}\\textbf{Z}$为降维后样本的内积矩阵，其数据元素$b_{ij}=\\textbf{z}_{i}^{T}\\textbf{z}_j$，则有\n",
    "\n",
    "\\begin{equation}\n",
    "d_{ij}^{2}=\\Vert \\textbf{z}_i - \\textbf{z}_j \\Vert_{2}^{2}=\\Vert \\textbf{z}_i\\Vert_{2}^{2}+\\Vert \\textbf{z}_j\\Vert_{2}^{2}-2\\textbf{z}_{i}^{T}\\textbf{z}_j = b_{ii}+b_{jj}-2b_{ij} \n",
    "\\end{equation}\n",
    "\n",
    "假设降维后的样本$\\textbf{Z}$经过了中心化处理，则有\n",
    "\n",
    "\\begin{equation}\n",
    "\\sum_{i=1}^{m}\\textbf{z}_i=0,\\sum_{i=1}^{m}b_{ij}=0,\\sum_{j=1}^{m}b_{ij}=0\n",
    "\\end{equation}\n",
    "\n",
    "由此可知，\n",
    "\n",
    "\\begin{equation}\n",
    "\\sum_{i=1}^{m}d_{ij}^2=\\sum_{i=1}^{m}(b_{ii}+b_{jj}-2b_{ij})=tr(\\textbf{B})+mb_{jj}\\\\\n",
    "\\sum_{j=1}^{m}d_{ij}^2=\\sum_{j=1}^{m}(b_{ii}+b_{jj}-2b_{ij})=tr(\\textbf{B})+mb_{ii}\\\\\n",
    "\\sum_{i=1}^{m}\\sum_{j=1}^{m}d_{ij}^{2} = 2mtr(\\textbf{B})\n",
    "\\end{equation}\n",
    "\n",
    "令\n",
    "\n",
    "\\begin{equation}\n",
    "d_{i\\bullet}^{2} = \\frac{1}{m}\\sum_{j=1}^{m}d_{ij}^{2}\\\\\n",
    "d_{\\bullet j}^{2} = \\frac{1}{m}\\sum_{i=1}^{m}d_{ij}^{2}\\\\\n",
    "d_{\\bullet \\bullet}^{2} = \\frac{1}{m^2}\\sum_{i=1}^{m}\\sum_{j=1}^{m}d_{ij}^{2}\\\\\n",
    "\\end{equation}\n",
    "\n",
    "可得，\n",
    "\n",
    "\\begin{equation}\n",
    "b_{ij}=\\frac{1}{2}(d_{ij}^{2}-b_{ii}-b_{jj})\\\\\n",
    "b_{ij} = \\frac{1}{2}(d_{ij}^{2}-\\frac{1}{m}(\\sum_{j=1}^{m}d_{ij}^{2}-tr(\\textbf{B}))-\\frac{1}{m}(\\sum_{i=1}^{m}d_{ij}^{2}-tr(\\textbf{B})))\\\\\n",
    "b_{ij} = \\frac{1}{2}(d_{ij}^{2}-\\frac{1}{m}(\\sum_{j=1}^{m}d_{ij}^{2}))-\\frac{1}{m}(\\sum_{i=1}^{m}d_{ij}^{2}))+\\frac{2}{m}tr(\\textbf{B}))\\\\\n",
    "b_{ij} = \\frac{1}{2}(d_{ij}^2-d_{i\\bullet}^2-d_{\\bullet j}^2+d_{\\bullet \\bullet}^2)\n",
    "\\end{equation}\n",
    "\n",
    "由此我们可以通过距离矩阵得到降维后的样本内积矩阵$\\textbf{B}=(b_{ij})_{m,m}$。对矩阵$\\textbf{B}$进行特征值分解，设最大的$d^{*}$个特征值构成的对角矩阵为$\\textbf{A}$，对应的特征向量组成的矩阵为$\\textbf{C}$，则矩阵$\\textbf{A}\\textbf{C}^{1/2}$的每一行就是一个样本的低维坐标。\n",
    "\n",
    "$\\textbf{MDS算法的流程如下：}$\n",
    "\n",
    "<img src=picture/dr3.png>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\textbf{8.4 低维嵌入算法实现}$\n",
    "\n",
    "(1)用Python编写MDS类，实现MDS算法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "class MDS:\n",
    "    #计算欧氏距离\n",
    "    def euclidean_dist(self, x1, x2):\n",
    "        return np.linalg.norm(x1 - x2)\n",
    "    #计算原始空间中样本之间的距离矩阵\n",
    "    def get_dist_matrix(self,data):\n",
    "        #添加代码，计算原始空间中样本之间的距离矩阵\n",
    "        return D\n",
    "    #计算降维后的样本距离矩阵B\n",
    "    def get_maxtrix_B(self,D):\n",
    "        #添加代码，计算降维后的样本距离矩阵B：提示：注意理解矩阵B中每个数据元素的计算方法\n",
    "        return B\n",
    "    def fit(self,data, low_dim =2):\n",
    "        D = self.get_dist_matrix(data)\n",
    "        B = self.get_maxtrix_B(D)\n",
    "        eig_values, eig_vects = np.linalg.eigh(B)\n",
    "        eig_values_sort = np.argsort(-eig_values)\n",
    "        values_sort = eig_values[eig_values_sort]\n",
    "        vects_sort = eig_vects[:,eig_values_sort]\n",
    "        top_value_diag = np.diag(values_sort[0:low_dim])\n",
    "        top_vects = vects_sort[:,0:low_dim]\n",
    "        Z = np.dot(np.sqrt(top_value_diag),top_vects.T).T\n",
    "        return Z"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(2)生成一个瑞士卷数据集，并用MDS对其进行降维，可视化降维结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "jupyter": {
     "outputs_hidden": true,
     "source_hidden": true
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import mpl_toolkits.mplot3d as p3d\n",
    "from sklearn import datasets, manifold\n",
    "from sklearn.datasets import make_swiss_roll\n",
    "\n",
    "X, t = make_swiss_roll(n_samples=5000, noise=0.2, random_state=42) # X为坐标 t为颜色\n",
    "\n",
    "\n",
    "model = MDS()\n",
    "Z = model.fit(X,low_dim=2)\n",
    "axes = [-11.5, 14, -2, 23, -12, 15]\t\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(121, projection='3d')\n",
    "ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=t, cmap=plt.cm.hot)\n",
    "ax.view_init(10, 60)\n",
    "ax.set_xlabel(\"$x$\", fontsize=18)\n",
    "ax.set_ylabel(\"$y$\", fontsize=18)\n",
    "ax.set_zlabel(\"$z$\", fontsize=18)\n",
    "ax.set_xlim(axes[0:2])\n",
    "ax.set_ylim(axes[2:4])\n",
    "ax.set_zlim(axes[4:6])\n",
    "plt.title('3D swiss roll')\n",
    "ax2 = fig.add_subplot(122)\n",
    "ax2.scatter(Z[:, 0], Z[:, 1], c=t, cmap=plt.cm.hot)\n",
    "ax2.set_xlabel(\"$x$\", fontsize=18)\n",
    "ax2.set_ylabel(\"$y$\", fontsize=18)\n",
    "plt.title('after MDS')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
